一个c语言题````请大家帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/12 13:00:30
【问题描述】:
设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制程序模拟该停车场的管理。

【实现要求】:
要求程序针对每组输入数据进行处理后的输出信息为:每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场时它在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。
汽车的每一组模拟输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。例如,(‘A’,1,5)表示1号牌照车在5这个时刻到达,而(‘D’,5,20)表示5号牌照车在20这个时刻离去。整个程序在输入信息为(‘E’,0,0)时结束。其中:‘A’表示到达(Arrival); ‘D’
表示离去(Departure); ‘E’表示输入结束(End)。
昏,你要几分?我给。。我做了一部分了。没用栈,关键问题是我没学这个东西...
有一个错误,能编译,能运行,应该是逻辑上的吧.我有2年没碰c了,同学让我帮的..

哎.....分太少了,
题目主要是想让你区分和熟悉"队列"和"栈"的概念和操作方法,对于这两种数据结构,要从物理结构(就是内存中的存储)和逻辑结构(该数据结构的特点和定义于该数据结构的操作方法)来理解.题目中停车场里的车是"栈"的数据结构,停车场以外的车是"队列"的数据结构,只需要把操作这两种数据结构的方法应用上来,该题目就解决了.
====================================
其实我也并不是嫌分少,我只是没时间做,我本来不是那么看重分的,很多时候有些问题没分我也在答,你这个问题要做至少四个小时,只有看国庆有没有时间闲着再做了...

这个题不难,但是有点复杂,需要时间和耐心的啊,楼上的说法很好的,太烦琐了!

#define stop 2
#define waitn 100
#define price 10
int w[stop]={0};
int time[stop];
int wait[waitn]={0};
addcar(int n,int t)
{
int i,y=0,j;
for(i=0;i<stop;i++)
{
if(w[i]==n)
{
printf("\n CarNumber is exist!\n");
y=2;
break;
}
if(w[i]==0)
{
w[i]=n;
time[i]=t;
y=1;
printf("\ncarNumber is %d,stop at %d,time is %d.\n",n,i+1,t);
break;
}
}
if(y==0)
{
printf("\nstop is full!");